Robust operation of tendon-driven robot fingers using force and position-based control laws

ABSTRACT

A robotic system includes a tendon-driven finger and a control system. The system controls the finger via a force-based control law when a tension sensor is available, and via a position-based control law when a sensor is not available. Multiple tendons may each have a corresponding sensor. The system selectively injects a compliance value into the position-based control law when only some sensors are available. A control system includes a host machine and a non-transitory computer-readable medium having a control process, which is executed by the host machine to control the finger via the force- or position-based control law. A method for controlling the finger includes determining the availability of a tension sensor(s), and selectively controlling the finger, using the control system, via the force or position-based control law. The position control law allows the control system to resist disturbances while nominally maintaining the initial state of internal tendon tensions.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under NASA Space ActAgreement number SAA-AT-07-003. The invention described herein may bemanufactured and used by or for the U.S. Government for U.S. Government(i.e., non-commercial) purposes without the payment of royalties thereonor therefor.

TECHNICAL FIELD

The present invention relates to a system and a method for providingrobust operation of tendon-driven robotic fingers in a robotic system.

BACKGROUND

Robots are automated devices able to manipulate objects using a seriesof links. The links are interconnected by one or more actuator-drivenrobotic joints. Each joint in a typical robot represents at least oneindependent control variable, or a degree of freedom. End-effectors arethe particular manipulators used to perform a task at hand, such asgrasping a work tool. Therefore, precise motion control of the variousrobotic manipulators helps to achieve the required mobility, dexterity,and work task-related functionality.

Dexterous robots may be used where a direct interaction is required withdevices or systems specifically designed for human use, i.e., devicesrequiring human-like levels of dexterity to properly manipulate. The useof dexterous robots may also be preferred where a direct interaction isrequired with human operators, as the motion of the robot can beprogrammed to approximate human motion. Such robots may include aplurality of fingers that can be actuated remotely using tendons, thusreducing the overall size and weight of the robot. Such tendons must bekept taut at all times to within a calibrated tension level.

SUMMARY

Accordingly, a control system and method are disclosed herein forcontrolling a tendon-driven finger of a dexterous robot. The presentcontrol system, by executing the method as disclosed herein, achievesactive compliance in the finger so that the finger may safely contact anobject in its environment while also allowing for operation of thefinger under degraded sensor conditions. This is achieved by a flexibletwo-tiered control architecture in which an upper control loop employseither a force-based or a position-based control law for a given finger.In turn, a position-based control law can incorporate active complianceselectively for any tendons that it is controlling.

The control law that is selected depends on whether all, none, or someof a number of tension sensors within the finger are available during agiven maneuver. Typically, a control law for tendon-driven fingers needstension feedback to maintain the internal tension on the tendons. Theposition control law presented here nominally maintains the internaltension by implementing the two-tier control architecture with arange-space constraint as set forth herein.

As used herein, the terms “force-based control law” and “position-basedcontrol law” refer to control of a robot relying on respective force orposition commands and feedback signals, as is understood in the art. Theflexible control scheme is finger-specific, i.e., the varioustendon-driven fingers on a given robotic hand can have a differentcontrol law operating for that finger at any moment relative to theother fingers.

In particular, a robotic system includes a robotic finger driven by atendon, a tension sensor, and a control system. The tendon is controlledby an actuator. The control system selectively controls the finger via aforce-based control law when the tension sensor is available to measurethe tension value, and via a position-based control law when the tensionsensor is not available.

A plurality of tendons may be used, each having a corresponding tensionsensor. The control system can selectively inject a compliance value tothe position-based control law when only some of the tension sensors areavailable. The compliance value may be a function of a tension error,which can be determined as the difference between a desired tension andan actual tension of one of the tendons.

A control system for a robotic finger driven by a tendon includes atension sensor and a host machine. The tension sensor is positioned tomeasure a tension value of the tendon, and the host machine isconfigured for determining the availability of the tension sensor formeasuring the tension value. Additionally, the host machine isconfigured for selectively controlling the finger via a force-basedcontrol law when the tension sensor is available to measure the tensionvalue, and via a position-based control law when the tension sensor isnot available to measure the tension value.

A method is also provided for controlling a tendon-driven finger in arobotic system. The method includes determining the availability of atension sensor for measuring a tension value of the tendon, and thenselectively controlling the finger, via a control system, using aforce-based control law when the tension sensor is available to measurethe tension value, and using a position-based control law when thetension sensor is not available to measure the tension value.

The above features and advantages and other features and advantages ofthe present invention are readily apparent from the following detaileddescription of the best modes for carrying out the invention when takenin connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a robotic system having a robotwith tendon-driven fingers controlled as set forth herein;

FIG. 2 is a schematic perspective view illustration of a lower armassembly for the robot shown in FIG. 1, with the arm assembly includinga plurality of tendon-driven robotic fingers;

FIG. 3 is a schematic perspective view illustration of a tendon andactuator usable for controlling the robotic fingers shown in FIG. 2;

FIG. 4 is a schematic perspective view of a tendon-driven roboticfinger;

FIG. 5 is a schematic illustration of a two-tier control architecturefor controlling the tendon-driven robotic finger shown in FIGS. 2 and 4;and

FIG. 6 is a flow chart describing the present method for controlling thetendon-driven robotic finger shown in FIGS. 2 and 4.

DESCRIPTION

With reference to the drawings, wherein like reference numbers refer tothe same or similar components throughout the several views, andbeginning with FIG. 1, a robotic system 10 is shown that includes adexterous robot 11 and a control system 12. The robot 11 includesvarious manipulators, including a plurality of tendon-driven fingers 14.The control system 12 for robot 11 operates via a two-tier controlhierarchy or architecture. As used herein, the term “two-tier” meansthat a first or upper tier control controller, shown in FIG. 1 as ajoint controller 80, operates at a higher hierarchical level than asecond or lower tier control law or controller, shown in FIG. 1 as anactuator controller 90. The controllers 80 and 90 may be embodied as twodifferent processors and related hardware devices, or alternatively asnested software-based control loops each resident in a single or in adistributed hardware device and automatically executed by one or moreprocessors.

The joint controller 80 uses either force- or position-based controllaws in a higher loop to control the position of various finger joints(see FIG. 4), depending on which control law is selected. Selection ofthe particular control law by the control system is based on theavailability of the tension sensors 58 (see FIG. 3) that are available,i.e., online and fully functional, in a given finger 14. The actuatorcontroller 90 uses the position-based control in a lower loop to controlthe position of a tendon 50 (see FIG. 3) of a given finger 14.

The control system 12 of FIG. 1 automatically maintains sufficienttension on the tendons 50 shown in FIG. 3. Typically, a force-basedcontrol law is used to regulate tendon tensions, such as via closed-loopforce feedback. However, the physical sensors used to measure tensionmay be less than optimally robust. As a result, all of some of thetension sensors positioned in or along a finger 14 of robot 11 may ormay not be available for use at any particular moment. Therefore, thecontrol system 12 is configured to automatically and individuallycontrol each of the fingers 14 using the joint and actuator controllers80 and 90, respectively, according to force or position control laws,and with or without selective compliance as explained below. Within thejoint controller 80, the particular control law being applied, i.e.,force or position, is selected in a manner that is dependent upon thenumber of available tension sensors for a given finger 14.

In one possible embodiment, the robot 11 shown in FIG. 1 may beconfigured with human-like appearance, and with human-like levels ofdexterity to the extent necessary for completing a given work task.Humanoids and other dexterous robots can be used where a directinteraction is required with devices or systems specifically designedfor human use, for example any devices requiring human-like levels ofdexterity to properly manipulate an object 30. The use of a humanoidsuch as the robot 11 depicted in FIG. 1 may be preferred where a directinteraction is required between the robot and human operators, as motionof the robot can be programmed to closely approximate human motion. Thefingers 14 of robot 11 are directly controlled by hardware components ofthe control system 12, e.g., a host machine, server, or network of suchdevices, via a set of control signals 55 during the execution of anymaneuver or work task in which the robot acts on the object 30.

The robot 11 shown in FIG. 1 may be programmed to perform automatedtasks with multiple degrees of freedom (DOF), and to perform otherinteractive tasks or to control other integrated system components,e.g., clamping, lighting, relays, etc. According to one possibleembodiment, the robot 11 may have a plurality of independently- andinterdependently-moveable actuator-driven robotic joints, some of whichhave overlapping ranges of motion. In addition to the various joints 23of the fingers 14, which separate and move the various phalangesthereof, the robotic joints of robot 11 may include a shoulder joint,the position of which is generally indicated in FIG. 1 by arrow 13, anelbow joint (arrow 15), a wrist joint (arrow 17), a neck joint (arrow19), and a waist joint (arrow 21).

Still referring to FIG. 1, each robotic joint may have one or more DOF.For example, certain compliant joints such as the shoulder joint (arrow13) and the elbow joint (arrow 15) may have at least two DOF in the formof pitch and roll. Likewise, the neck joint (arrow 19) may have at leastthree DOF, while the waist and wrist (arrows 21 and 17, respectively)may have one or more DOF. Depending on task complexity, the robot 11 maymove with over 42 DOF. Each robotic joint contains and is internallydriven by one or more actuators, for example joint motors, linearactuators, rotary actuators, and the like.

In one possible embodiment, the robot 11 may include just the lower armassembly 75 shown in FIG. 2. In another embodiment, the robot 11 mayinclude additional human-like components such as a head 16, a torso 18,a waist 20, arms 22, hands 24, fingers 14, and opposable thumbs 26, withthe various joints noted above being disposed within or between thesecomponents. As with a human, both arms 22 and other components may haveranges of motion that overlap to some extent. The robot 11 may alsoinclude a task-suitable fixture or base (not shown) such as legs,treads, or another moveable or fixed base depending on the particularapplication or intended use of the robot. A power supply 28 may beintegrally mounted to the robot 11, e.g., a rechargeable battery packcarried or worn on the back of the torso 18 or another suitable energysupply, or which may be attached remotely through a tethering cable, toprovide sufficient electrical energy to the various joints for movementof the same.

The control system 12 and each of the controllers 80 and 90 thereof mayeach be embodied, as noted elsewhere above, as a server or a hostmachine, i.e., one or multiple digital computers or data processingdevices, each having one or more microprocessors or central processingunits (CPU), read only memory (ROM), random access memory (RAM),electrically-erasable programmable read only memory (EEPROM), ahigh-speed clock, analog-to-digital (A/D) circuitry, digital-to-analog(D/A) circuitry, and any required input/output (I/O) circuitry anddevices, as well as signal conditioning and buffering electronics.

While shown as a single device in FIG. 1 for simplicity and clarity thevarious elements of control system 12 may be distributed over as manydifferent hardware and software components as are required to optimallycontrol the robot 11. The individual control algorithms resident in thecontrol system 12 or readily accessible thereby may be stored in ROM orother suitable tangible memory location and/or memory device, andautomatically executed by associated hardware components of the controlsystem to provide the respective control functionality.

Referring to FIG. 2, a lower arm assembly 75 can be used as part of therobot 11 shown in FIG. 1. Each lower arm assembly 75 includes a hand 24having a plurality of tendon-driven fingers 14 and a tendon-driven thumb26. The term “tendon-driven” is explained below with reference to FIG.3. The lower arm assembly 75 includes a plurality of finger actuators 40each configured for selectively pulling on and releasing one or moretendons 50 (see FIG. 3) in a finger 14 or in a thumb 26. The lower armassembly 75 further includes a plurality of wrist actuators 38 formoving the wrist joint (arrow 17). Printed circuit board assemblies(PCBA) 39 for the finger actuators 40 and/or the wrist actuators 38 maybe positioned on or within the lower arm assembly 75 as shown forpacking efficiency. The lower arm assembly 75 may be attached to a loadcell 32, which is used to connect the lower arm assembly to the rest ofthe arm 22 of the robot 11 shown in FIG. 1.

Multiple finger actuators 40 may correspond to each finger 14 and thumb26. In general, one finger actuator 40 is used for each DOF availableplus one additional finger actuator. Therefore, each finger 14 havingthree DOF requires four finger actuators 40, while each finger havingtwo DOF requires three finger actuators, etc.

Referring to FIG. 3, a schematic perspective view is provided of apossible embodiment of the finger actuator 40. The finger actuator 40may include a motor 44, a gear drive 46, an actuator housing 48, atendon 50, and a tendon terminator 52. The tendon 50 extends from theactuator housing 48 and through one of the fingers 14, terminating atthe end of the finger. The tendon 50 is illustrated in an off-centerposition within the finger 14, as more than one tendon may extend withina given finger. The motor 44, gear drive 46, and actuator housing 48 mayall be located in the lower arm assembly 75 in order to minimize thepackaging space required within the fingers 14 and the thumb 26, and toallow for the larger components of the finger actuator 40, such as theactuator housing 48, to be remotely packaged with respect to the fingersand thumb.

The tendon 50 may be protected by a sheath or conduit liner 54positioned within a protective outer conduit 56. The tension sensor 58measures the force of compression on the conduit 56 to determine theamount of tension placed on the tendon 50. Tension in the tendons 50 canbe used by the control system 12 shown in FIG. 1 to calculate the jointtorques generated or experienced at the various joints of a given finger14, which in turn can be used by the control system for control of thefingers and thumbs 26 of a given hand 24.

As the finger actuator 40 moves the tendon 50, the tendon slidesrelative to the tension sensor 58. The tendon 50 terminates within thefinger 14 at the tendon terminator 52. Movement of the tendon 50 causesrelative movement of the tendon terminator 52, thereby moving the finger14. Force may be placed on the tendon terminator 52 either internally,i.e., by movement of the finger actuator 40, or externally, i.e., on thefinger 14 by the object 30 of FIG. 1, which causes the tendon 50 toexert force on the actuator housing 48.

Referring to FIG. 4, the control system 12 of FIG. 1 is used as setforth herein to individually control each finger 14 with respect to anyother finger of a given hand 24. In the torque control of atendon-driven finger, the desired joint torques must first be translatedinto tendon tension values. This problem is referred to as tensiondistribution, and it must ensure that each tension value isnon-negative. The finger 14 has a plurality of finger joints 23, some ofwhich are independent joints, with the joint positions and joint torquesof each finger joint indicated by arrows τ₁, τ₂, and τ₃. The finger 14has n independent joints (n DOF) and n+1 tendons 50.

The finger 14 shown in FIG. 4 has 3 DOF, therefore there are fourtendons 50 in this particular embodiment, although more or fewer tendonsand/or DOF may also be used without departing from the intendedinventive scope. Note that the distal joint is mechanically coupled tothe adjacent joint, i.e., the medial joint; hence, the distal joint isnot an independent DOF. Also, control of the finger 14 is fullydetermined, as that term is understood in the art, and therefore thenumber of tendons 50 is n+1, or 4 in the particular embodiment shown inFIG. 4. Each independent joint 23 is characterized by a joint torque τand a joint position q. Each of the tendons 50 is characterized by atension f, represented in FIG. 4 as f₁, f₂, f₃ and f₄, or generally, asf1 through f₂₊₁. The tendons 50 each have a determinable position (x),i.e., x₁-x₄.

The relationship between the n joint torques and m tendon tensions,where m>n, is represented as τ=Rf. The variable R ε

^(n×m) is known as a tendon map, and it contains the various joint radiidata needed for mapping tendon tensions to joint torques. For a systemto be tendon-controllable, the tendon map R must be a full row rank, andthere must be an all-positive column matrix, w, such that R^(T)w=0. The“internal tension” is a weighted sum of all the tensions in a finger 14;hence, a smaller internal tension indicates smaller tensions amongst thevarious tendons 50 and a smaller net force.

Inversely, the solution for tension f follows, where R⁺ is thepseudoinverse of R, I is the identity matrix, and 2 is an arbitraryvalue:

f=R ⁺ τ+f _(int)

f _(int){dot over (=)}(I−R ⁺ R)λ

where f_(int) represents the internal tensions lying in the null-spaceof R and producing zero net torques. The matrix [I−R⁻ R] provides theprojection operator into the null space of R. Given quasi-staticconditions, f=f_(int) whenever zero external forces act on the finger14.

The same matrix R expresses the relationship between a tendon 50 andjoint velocities. Based on the principals of virtual work, thecontribution of the joint motion to the tendon velocity equals R^(T){dot over (q)}. Assuming a constant value for R, the net displacement ofa tendon 50 is a sum of the joint contribution plus the change in lengthl of that tendon, or:

Δx=R ^(T) Δq+Δl.

We will now provide a model of tendon 50 as a linear spring and assumethat the tendon will remain taut. We will also assume that the tendons50 used in a finger 14 have the same stiffness value, k_(t), since thedifference in tendon lengths is not sufficient to warrant a significantdifference in stiffness. The following analysis relates the change inlength (Δl) to a change in tendon tensions and joint torques:

Δ f = k_(t)Δ l $\begin{matrix}{{\Delta \; \tau} = {R\; \Delta \; f}} \\{= {k_{t}R\; \Delta \; l}}\end{matrix}$

hence,

${\Delta \; l} = {{\frac{1}{k_{t}}R^{+}\Delta \; \tau} + {\Delta \; {l_{int}.}}}$

The value (Δl_(int)), which represents the change in length in thenull-space of R, i.e., the change in length that affects only theinternal tensions and not the joint torques, can be written as:

Δl _(int){dot over (=)}(I−R ⁺ R)δ,

where the value of variable δ is arbitrary. The final relation fortendon displacement may be written as:

${\Delta \; x} = {{R^{T}\Delta \; q} + {\frac{1}{k_{t}}R^{+}\Delta \; \tau} + {\Delta \; {l_{i\; n\; t}.}}}$

In the absence of tension feedback, e.g., when some or all of thetension sensors 58 of FIG. 3 are not available for use within a givenfinger 14, the position laws used by the control system 12 of FIG. 1provide fast position-based control performance, low error, and noovershoot, while at the same time maintaining the internal tension ofthe tendons 50 in the finger. To keep the internal tension constant, thevalue Δl_(int) is eliminated from the equation appearing immediatelyabove.

Referring to FIG. 5, a schematic illustration of the control system 12of FIG. 1 demonstrates the two-tier control scheme noted. The controlsystem 12 includes an upper control loop and a lower control loop, i.e.,the joint controller 80 and the actuator controller 90, respectively.The joint controller 80 processes signals describing a vector of jointposition (q), represented as arrow 31, and a desired or reference jointposition (q_(d)), represented as arrow 131, via a processing node 60 tothereby calculate a joint position error (q−q_(d)), i.e., arrow 35.Likewise, a tendon force (f) is shown as arrow 37, and a tendon position(x) is shown as arrow 33. Another processing node 60 takes the commandedtendon position (x_(d)), shown as arrow 133, calculates the tendonposition error (x−x_(d)) 233 and sends it down to the lower loop of theactuator controller 90.

The actuator controller 90 consists of a simple position controller onthe actuator position; it is first tuned to maximize performance with afirst-order response behavior to avoid overshoot. The joint controller80 can consist of either a force-based controller on the finger jointsas understood in the art, or a position-based controller.

A new position controller is set forth herein that implements a discreteversion of a velocity controller, wherein the current positions of theactuators are continuously fed back and combined with a delta vectorbased on the joint errors. Based on the above kinematic relationships,the commanded tendon position (x_(d)), i.e., arrow 133, can be writtenas:

x _(d) =x−k _(p) R ^(T) Δq,

where Δq represents the joint position error (q−q_(d)), i.e., arrow 35as shown in FIG. 5, and k_(p) is a scalar constant gain. This controllaw zeros the null-space displacement of the previous equation.

This control law produces a fast response that closes the steady-stateerror and maintains an over-damped behavior. However, it does notactively constrain actuator positions to the range-space. Hence,disturbances can cause disproportionate changes to the actuatorpositions, changing the internal tensions. This may be exacerbated bythe fact that the tendon 50 shown in FIG. 3 cannot resist compression.To resolve this, the output is projected into the range-space of thefinger 14, which allows the lower loop to actively servo to therange-space. This provides the final control law for the upper-loop:x_(d)=R⁺ Rx−k_(p)R^(T) Δq. The range-space constraint of this equationrequires the two-tiered hierarchy shown in FIG. 5. This range-spaceconstraint allows the system to resist motion in the null-space, andthus to nominally maintain the initial internal tensions placed on thetendon.

An alternative scheme for the position control law is based on aproportional-integral (PI) compensator. This law implements afeed-forward term for the final position of each of the actuators usedwith a PI term to eliminate steady-state error. If the system isinitialized such that the initial tendon position x and joint position qare zero, then the actuator positions matching the desired jointpositions (q_(d)), arrow 131, without changing the length of the tendon50 of FIG. 3, are given by R^(T) q_(d). Since the kinematic model may beimperfect, a PI compensator is used to eliminate any errors.

Thus, the commanded position (x_(d)), arrow 133, from the feed-forwardcontrol is as follows:

x _(d)=−R^(T)(k _(p) Δq+ki∫ Δqdt).

This feed-forward term results in a fast rise time, while the PI termresults in zero steady-state error.

When some but not all of a total number of available tension sensors forthe finger 14 are available, the control system 12 can selectively applyposition control for that finger, in conjunction with selectivecompliance for the tendons, thus complimenting the position controlcapabilities of the control system 12. Note that the different fingers14 on a given hand 24 (see FIG. 2) can be simultaneously controlledusing different controllers or control laws, e.g., with force-basedcontrol of one finger and position-based control of another.

A selective compliance value (arrow 57) may be defined as k(f-f_(d))s,with k being a scalar constant and (f-f_(d)) being the tension error.The term s is a selection variable with an element for each tendon,e.g., with a value of 1 to turn compliance on and 0 to turn complianceoff. Thus, downstream of the actuator controller 90, the selectivecompliance value 57 may be subtracted from the output 51 of the actuatorcontroller, with s being selected by the control system 12 in a mannerthat is dependent upon whether selective compliance is desired (i.e., 1)or not desired (i.e., 0). The control signals (arrow 55), also shown inFIG. 1, are ultimately transmitted to the robot 11 as a motor commandwhich feeds back the joint positions (q) (arrow 31), tendon positions(x) (arrow 33), and tendon tensions (f) (arrow 37).

When all tension sensors are available in a given finger 14, the controlsystem 12 of FIG. 1 uses the force-based control law for controllingthat particular finger. The following example control law decouples themotion in the joint space of the finger 14. The following equation for adesired tendon position (x_(d)) applies:

x _(d) =x−k _(d) {dot over (x)}−P ^(T) K_(p)(T−T _(d)),

where T=Pf, and P is a matrix that concatenates R and w^(T) on top ofeach other. The values k_(p) and k_(d) are user-defined proportional andintegral gains, respectively.

Referring to FIG. 6, and with reference to the structure shown in thepreceding Figures, the present method 100 according to one possibleembodiment begins at step 102, wherein the control system 12 determinesthe number of available tension sensors in a finger 14 being controlled.Step 102 may include receiving an input signal indicative of the statusof each of the tension sensors 58 in a given finger 14, e.g., byautomatically querying the tension sensors with a status request commandor “ping”, and then recording a status indicating that the tensionsensor is available, i.e., online and properly functioning, whenever thequeried tension sensor successfully replies to the ping.

Alternatively, signals may be periodically transmitted from the tensionsensor 58 at calibrated intervals, with the interruption ordiscontinuation of transmission of such signals indicating thenon-availability of a particular sensor. Additional embodiments mayinclude the tension sensor 58 reading erroneous values relative tocalibrated thresholds, recording a manual input of the non-availablestatus of a given sensor into the control system 12 by a programmer oruser, processing of sensor error codes or flags, etc.

At step 104, the control system 12 of FIG. 1 determines whether alltension sensors 58 for a particular finger 14 are available, e.g., bycomparing a known total number of tension sensors to the number ofavailable sensors determined at step 102. If all of the tension sensors58 for a finger 14 are available, the method 100 proceeds to step 108.Otherwise, the method 100 proceeds to step 106.

At step 106, the control system 12 determines whether at least some ofthe tension sensors 58 are available for the finger 14 being evaluated.If so, the method 100 proceeds to step 110. Otherwise, the method 100proceeds to step 112.

At step 108, with the control system 12 having previously determined atstep 104 that all of the total number of tension sensors 58 in a finger14 are available for use in that finger, the control system of FIG. 1controls the finger using the force-based control law alone, as setforth above. The method 100 then repeats step 102 in a loop to determinewhether there has been a change in the number of available tensionsensors 58.

At step 110, with the control system 12 having determined at step 106that only some of the tension sensors 58 in a given finger 14 areavailable for use in that finger, the control system of FIG. 1 controlsthe finger using the position-based control law in conjunction withselective compliance, as set forth above. The method 100 then repeatsstep 102 in a loop to determine whether there has been a change in thenumber of available tension sensors 58.

At step 112, with the control system 12 of FIG. 1 having determined atstep 106 that none of the tension sensors 58 are available for use inthe finger 14 being controlled, the control system of FIG. 1 controlsthe finger using position-based control law alone, as set forth above.The method 100 then repeats step 102 in a loop to determine whetherthere has been a change in the number of available tension sensors 58.

Accordingly, the control system 12 of FIG. 1 provides force control toprotect the tendons of a given finger 14 in combination with robustnesswith respect to tension sensor failure. Effective control is providedover each finger 14 without requiring tension sensing. When tensionsensing is unavailable, the control law with its two-tier controlarchitecture described above with reference to FIG. 5 provides positioncontrol that is fast without overshoot, while maintaining nominalinternal tension levels on the finger. Compliance is available inconjunction with position control to protect the tendons even when afull set of tension sensors is unavailable. Thus, the robot 11 of FIG. 1is able to operate at a higher level of performance with an enhancedrobustness.

While the best modes for carrying out the invention have been describedin detail, those familiar with the art to which this invention relateswill recognize various alternative designs and embodiments forpracticing the invention within the scope of the appended claims.

1. A robotic system comprising: a robotic finger driven by a tendon; and a control system configured for determining whether a tension sensor is available in the finger, for selectively controlling the finger via a force-based control law when a tension sensor is available in the finger to measure the tension value, and via position-based control law when the tension sensor is not available in the finger to measure the tension value.
 2. The robotic system of claim 1, further comprising a plurality of the tendons, each tendon having a corresponding tension sensor, wherein the control system is configured for selectively controlling the finger via the force-based control law when all of the tension sensors are available, and via the position-based control law when none of the tension sensors are available.
 3. The robotic system of claim 2, wherein the control system is further configured for selectively injecting a compliance value to the position-based control law when only some of the tension sensors are available.
 4. The robotic system of claim 3, wherein the compliance value is a function of a tension error determined as a difference between a desired tension and an actual tension of one of the tendons.
 5. The robotic system of claim 1, further comprising an actuator for moving the tendon, wherein the control system uses a two-tier architecture or hierarchy in which a joint controller forms an upper control loop and an actuator controller forms a lower control loop in the two-tier architecture, and wherein: the joint controller is configured for executing the force-based control law and the position-based control law to thereby respectively control the force and position of the joints of the robotic finger; and the actuator controller being configured for executing only the position-based control law to thereby control the position of the actuator.
 6. The robotic system of claim 5, where any commanded actuator positions for the actuator that are sent down to the actuator controller are constrained to the range-space of the finger.
 7. The robotic system of claim 1, further comprising a hand having a plurality of the fingers, with each finger having a plurality of the tendons, and with each tendon having a corresponding tension sensor, wherein each finger is independently controllable with respect to the other fingers in a manner dependent on the number of available tension sensors in the finger that is being independently controlled.
 8. The robotic system of claim 1, further comprising an actuator for moving the tendon, wherein the control system uses a two-tier architecture having a lower and an upper control loop, and wherein the lower control loop actively servos to an actuator position of the finger to allow the finger to resist motion in the null-space of a tendon map matrix for the finger, while also nominally maintaining an initial internal tension on the tendon.
 9. A control system for a robotic finger driven by a tendon, the control system comprising: a host machine; and a non-transitory computer-readable medium on which is recorded a control process providing a two-tier control architecture for controlling the finger; wherein the host machine is configured for executing the control process to thereby determine the availability of a tension sensor in the finger suitable for measuring a tension value, and for selectively controlling the finger: via a force-based control law when the tension sensor is available to measure the tension value; and via a position-based control law when the tension sensor is not available to measure the tension value.
 10. The control system of claim 9, wherein the finger includes a plurality of the tendons each having a corresponding tension sensor, and wherein the host machine is configured for selectively controlling the finger via the force-based control law when all of the plurality of tension sensors are available in the finger, and via the position-based control law when none of the plurality of tension sensors are available.
 11. The control system of claim 10, wherein the host machine is further configured for selectively injecting a compliance value to the position-based control law when only some of the tension sensors are available.
 12. The control system of claim 11, wherein the compliance value is a function of a tension error determined by the host machine as a difference between a desired tension and an actual tension of one of the tendons.
 13. The control system of claim 9, further comprising: an actuator for moving the tendon, wherein the host machine includes each of a joint controller and an actuator controller in a two-tier architecture or hierarchy, and wherein: the joint controller is configured for executing the force-based control law and the position-based control law in an upper control loop of the two-tier architecture to thereby respectively control the force and position of the joints of the robotic finger; and the actuator controller is configured for executing only the position-based control law in a lower control loop of the two-tier architecture to thereby control the position of the actuator.
 14. The control system of claim 9, further comprising: a hand having a plurality of the fingers, with each finger having a plurality of tendons, and with each tendon having a corresponding tension sensor, wherein each finger is independently controllable with respect to the other fingers in a manner dependent on the number of available tension sensors in the finger that is being independently controlled.
 15. A method for controlling a tendon-driven finger in a robotic system, the method comprising: determining the availability of a tension sensor for measuring a tension value of the tendon; and selectively controlling the finger, via a control system, using a force-based control law when the tension sensor is available to measure the tension value, and using a position-based control law when the tension sensor is not available to measure the tension value.
 16. The method of claim 15, wherein the finger has a plurality of the tendons each having a corresponding tension sensor, the method further comprising: selectively controlling the finger via the force-based control law when all of the tension sensors are available, and via the position-based control law when none of the tension sensors are available.
 17. The method of claim 16, further comprising: selectively injecting a compliance value to the position-based control law when only some of the tension sensors are available.
 18. The method of claim 17, further comprising: calculating the compliance as a function of a tension error, wherein the tension error is determined as a difference between a desired tension and an actual tension of one of the tendons.
 19. The method of claim 16, wherein the robotic system includes an actuator configured for moving the tendon, the method further comprising: using a joint controller to execute the force-based control law and the position-based control law to thereby respectively control a force and a position of a joint in the finger in an upper control loop of a two-tier architecture or hierarchy; and using an actuator controller to execute only the position-based control law to thereby control a position of the actuator in a lower control loop of the two-tier architecture.
 20. The method of claim 19, further comprising an actuator for moving the tendon, wherein the control system uses a two-tier architecture or hierarchy in which a joint controller forms an upper control loop and an actuator controller forms a lower control loop in the two-tier architecture, and wherein: the joint controller is configured for executing the force-based control law and the position-based control law to thereby respectively control the force and position of the joints of the robotic finger; and the actuator controller being configured for executing only the position-based control law to thereby control the position of the actuator, and wherein any commanded actuator positions for the actuator that are sent down to the actuator controller are constrained to the range-space of the finger. 